Я храню продакшен ключи прямо в Git репозитории

Время шло, CI/CD тулзы менялись, количество проектов, сред и мест хранения ключей множились, уровень беспокойства о том, что какой-нибудь ключ где-нибудь устарел все повышалось. Ну хватит уже… Можно я просто в репозитории ключи оставлю? Оказывается, да, можно. И это на порядок удобнее всего что я делал раньше.

Пропустим душераздирающую историю о том, с какими проблемами все мы сталкиваемся когда дело касается всяких секреток в проектах и перейдем сразу к делу.

Цели

  • Не хочу беспокоиться о том, все ли конфиги в порядке перед отправкой кода в продакшен/стейджинг
  • Не хочу думать о том, какие конфиги дать новому разработчику, только что присоединившемуся к проекту
  • Хочу чтобы все CI системы запускались без танцев с бубном, так же просто как на локальной машине
  • Хочу чтобы ключи соответствовали версии кода.

Решение

Создаем два баш скрипта: encrypt.sh и decrypt.sh.

encrypt.sh выглядит так:

#!/bin/bash  # sh encrypt.sh <./path/to/file.js> <environment> <password>

Читать далее